package ai;

public class AIConstant {

	// TASKS STATUS
	public final static byte STATUS_NEW = 0;
	public final static byte STATUS_IN_PROGRESS = 1;
	public final static byte STATUS_WAIT_4_RESOURCES = 2;
	public final static byte STATUS_WAIT_4_PRODUCTION = 3;
	public final static byte STATUS_WAIT_4_TECHNO = 4;
	public final static byte STATUS_WAIT_4_CITY = 5;
	public final static byte STATUS_DONE = 6;

	// TASKS PRIORITY
	public final static byte PRIORITY_URGENT = 127;
	public final static byte PRIORITY_VERY_STRONG = 90;
	public final static byte PRIORITY_STRONG = 65;
	public final static byte PRIORITY_MEDIUM = 40;
	public final static byte PRIORITY_WEAK = 15;
	public final static byte PRIORITY_VERY_WEAK = 1;

	// TASK ALLOCATION RESOURCES
	public final static byte PRIORITY_LOSS_BY_TURN = 40;

	// FUZZY ALLOCATION RESOURCES
	public final static short FUZZY_DISTANCE_CLOSED = 0;
	public final static short FUZZY_DISTANCE_MEDIUM = 500;
	public final static short FUZZY_DISTANCE_FAR = 1000;
	public final static short FUZZY_PRIORITY_LOW = 1;
	public final static short FUZZY_PRIORITY_MEDIUM = 30;
	public final static short FUZZY_PRIORITY_HIGH = 100;
	public final static short FUZZY_SCORE_LOW = 1;
	public final static short FUZZY_SCORE_MEDIUM = 500;
	public final static short FUZZY_SCORE_HIGH = 1000;

	// PATHFINDING
	public final static byte DISTANCE_RATIO = 10;

	// INFLUENCE MAPPING
	public final static byte LAST_POSITION_MALUS = 100;

}
